﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using SwiftDocument.Markdown;

namespace SwiftDocument.Test
{
	[TestClass]
	public class UnitTest1
	{
		Markdown.Markdown compiler = new Markdown.Markdown();
		string str;
		Model.Element r;

		[TestMethod]
		public void TestMethod1()
		{
			str =
@"
## Hola Mundo ##

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod quam sed nunc ultricies, a lacinia magna vulputate. Mauris vestibulum viverra augue et molestie. Donec tincidunt dictum tortor, et scelerisque est interdum vel. Etiam fringilla augue turpis. Nunc convallis justo vitae ante convallis, vitae scelerisque tortor sodales. Praesent at congue dui. Morbi consequat erat massa, vel pretium eros tincidunt quis. Phasellus fermentum a quam ac fringilla. Aliquam vel tincidunt urna. Proin convallis sodales tempor. Nunc lectus est, pharetra in tristique a, dignissim tempus dolor. Nulla euismod laoreet lobortis.
Mauris placerat porttitor nisi, nec fringilla dolor commodo nec. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean varius eu enim a posuere. Nam ac sagittis neque. Praesent non sollicitudin dui. Suspendisse posuere est in sem adipiscing, et fermentum nulla cursus. Nam sed lacus urna.
Praesent magna sem, condimentum ac orci ut, malesuada porta ligula. Sed augue erat, elementum sit amet nisl a, convallis aliquet sapien. Vestibulum varius lorem id mauris egestas, sit amet sagittis tellus feugiat. Sed eu pulvinar odio. Duis tempus aliquam est, sit amet euismod tortor vestibulum eget. Nullam condimentum dolor sed porttitor porta. Vestibulum ac elit gravida, faucibus leo ac, adipiscing eros. Duis augue neque, aliquet ac pellentesque id, condimentum at lorem. Vivamus fringilla scelerisque lobortis. Nulla pharetra lacus ultricies, lobortis dui et, sagittis quam.

Proin convallis purus a libero placerat, nec tincidunt odio venenatis. Duis ullamcorper porta mauris, nec interdum eros facilisis id. Suspendisse tempor sem eu luctus mollis. Donec dictum sem eu ante vestibulum porttitor. Proin ac ornare ligula, id vehicula velit. Aliquam vestibulum egestas suscipit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec eu malesuada risus.
Nam eget magna eu neque eleifend gravida vel at tellus. Curabitur vel orci lectus. Nullam nec ante sit amet tortor venenatis faucibus. Sed eget scelerisque leo, eget scelerisque sapien. Pellentesque felis sapien, auctor vitae nibh eu, feugiat luctus lectus. Vestibulum nec augue turpis. Praesent adipiscing elit justo, eget posuere diam porta ut. Nulla et imperdiet nulla, id aliquam ligula. Donec vel auctor libero, ut rhoncus tellus. Suspendisse potenti. Donec et metus vitae nibh auctor mattis. Maecenas et mollis urna. Vestibulum id urna vel orci iaculis dignissim. Duis nec ultrices lectus. Integer facilisis nisi tempor, interdum urna sed, tincidunt justo. Cras lacus elit, pellentesque et augue nec, posuere porttitor neque.

";
			r = compiler.Parse(str);
		}

		[TestMethod]
		public void TestMethod2()
		{
			str =
@"Prueba de una linea";
			r = compiler.Parse(str);
		}

		[TestMethod]
		public void TestMethod3()
		{
			str =
@"Prueba de dos 
lineas";
			r = compiler.Parse(str);
		}

		[TestMethod]
		public void TestMethod4()
		{
			str =
@"    Prueba de una linea con espacios    ";
			r = compiler.Parse(str);
		}

		[TestMethod]
		public void TestMethod5()
		{
			str =
@"

Prueba de linea con saltos

";		
			r = compiler.Parse(str);
		}

		[TestMethod]
		public void TestMethod6()
		{
			str =
@"

## Titulo 1 ##

  Texto de parrafo
sin principio ni fin

## Titulo 2
  
  Un parrafo mas donde colocar algo
interesante.";
			r = compiler.Parse(str);
		}
			
		[TestMethod]
		public void TestMethod7()
		{
			str =
@" ## Hola mundo ##
prueba de un parrafo 1 en linea 1.
prueba de un parrafo 1 en linea 2.

prueba de un parrafo 2 en linea 1.
prueba de un parrafo 2 en linea 2.
Linea [image img.jpg] Linea
Linea [link http://google.com] Linea

| Chip |  Core   |
|[-----|[-------]|
|RK3188|Quad Core|
|RK3066|Dual Core|

";
			r = compiler.Parse(str);
		}
	}
}
